<html xmlns="http://www.w3.org/1999/xhtml" manifest="http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.cacheManifest">
<head>
<title>Foreign page 2</title>

<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="/tests/dom/tests/mochitest/ajax/offline/offlineTests.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />

<script class="testbody" type="text/javascript">

function manifestUpdated()
{
  var appCacheService = SpecialPowers.Cc["@mozilla.org/network/application-cache-service;1"]
    .getService(SpecialPowers.Ci.nsIApplicationCacheService);

  var foreign2cache = appCacheService.chooseApplicationCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.html", OfflineTest.loadContextInfo());

  window.opener.OfflineTest.ok(foreign2cache, "Foreign 2 cache present, chosen for foreign2.html");
  window.opener.OfflineTest.is(foreign2cache.manifestURI.asciiSpec, "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.cacheManifest")

  var foreign1cache = OfflineTest.getActiveCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign1.cacheManifest");
  window.opener.OfflineTest.ok(foreign1cache, "Foreign 1 cache loaded");
  foreign1cache.discard();

  window.opener.onDone();
}

function onLoaded()
{
  var appCacheService = SpecialPowers.Cc["@mozilla.org/network/application-cache-service;1"]
    .getService(SpecialPowers.Ci.nsIApplicationCacheService);

  var foreign1cache = window.opener.OfflineTest.getActiveCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign1.cacheManifest");
  window.opener.OfflineTest.ok(foreign1cache, "Foreign 1 cache loaded");

  var foreign2cache = window.opener.OfflineTest.getActiveCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.cacheManifest");
  window.opener.OfflineTest.ok(!foreign2cache, "Foreign 2 cache not present");

  foreign1cache = appCacheService.chooseApplicationCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.html", window.opener.OfflineTest.loadContextInfo());
  window.opener.OfflineTest.ok(!foreign1cache, "foreign2.html not chosen from foreign1 cache");

  try
  {
    window.opener.OfflineTest.ok(applicationCache.status == SpecialPowers.Ci.nsIDOMOfflineResourceList.UNCACHED,
        "there is no associated application cache");
  }
  catch (ex)
  {
    window.opener.OfflineTest.ok(false, "applicationCache.status must not throw an exception");
  }
}

applicationCache.onerror = window.opener.OfflineTest.failEvent;
applicationCache.onupdateready = window.opener.OfflineTest.failEvent;
applicationCache.onnoupdate = window.opener.OfflineTest.failEvent;
applicationCache.oncached = window.opener.OfflineTest.priv(manifestUpdated);

</script>

</head>

<body onload="OfflineTest.priv(onLoaded)();">
</body>
</html>
